<?php

class CanBoQLDeTaiVaSVDK extends BaseController {

    public function index() {
        return View::make('canbo.dsdetai')->with('title', 'Danh sách đề tài luận văn hướng dẫn');
    }

    public function index1() {
        return View::make('canbo.dssvdk')->with('title', 'Danh sách sinh viên đăng ký làm luận văn');
    }

    public function show($id, $nienkhoa, $hocky) {
        $array_dsdetai = DB::table('de_tai_luan_van')
                ->join('chi_tiet_can_bo_huong_dan', function($join) {
                            $join->on('de_tai_luan_van.id', '=', 'chi_tiet_can_bo_huong_dan.id_de_tai');
                        }
                )
                ->join('hoc_ky_nien_khoa', function($join) {
                            $join->on('de_tai_luan_van.id_hoc_ki_nien_khoa', '=', 'hoc_ky_nien_khoa.id');
                        }
                )
                ->select('de_tai_luan_van.ma_so_de_tai', 'de_tai_luan_van.ten_de_tai', 'de_tai_luan_van.mo_ta_de_tai', 'de_tai_luan_van.so_luong_sv_th')
                ->where('chi_tiet_can_bo_huong_dan.id_can_bo', '=', $id, 'and')
                ->where('hoc_ky_nien_khoa.nien_khoa', '=', $nienkhoa, 'and')
                ->where('hoc_ky_nien_khoa.hoc_ky', '=', $hocky)
                ->where('de_tai_luan_van.trang_thai', '=', 1)
                ->get();
        return ($array_dsdetai);
    }

    public function showdetai($msdt) {
        $array_dsdetai = DB::table('de_tai_luan_van')
                ->select('ten_de_tai', 'mo_ta_de_tai', 'so_luong_sv_th')
                ->where('ma_so_de_tai', '=', $msdt)
                ->get();
        return ($array_dsdetai);
    }

    public function show_svdk($id, $nienkhoa, $hocky) 
    {
        $array_dssinhvien = DB::table('de_tai_luan_van')
                ->join('chi_tiet_can_bo_huong_dan', function($join) {
                            $join->on('chi_tiet_can_bo_huong_dan.id_de_tai', '=', 'de_tai_luan_van.id');
                        })
                ->join('can_bo', function($join) {
                            $join->on('can_bo.id', '=', 'chi_tiet_can_bo_huong_dan.id_can_bo');
                        })
                ->join('nhom_dang_ki', function($join) {
                            $join->on('nhom_dang_ki.id_de_tai', '=', 'de_tai_luan_van.id');
                        })
                ->join('sinh_vien', function($join) {
                            $join->on('sinh_vien.id', '=', 'nhom_dang_ki.id_sinh_vien');
                        })
                ->join('hoc_ky_nien_khoa', function($join) {
                            $join->on('hoc_ky_nien_khoa.id', '=', 'de_tai_luan_van.id_hoc_ki_nien_khoa');
                        })
                ->select('de_tai_luan_van.ten_de_tai', 'de_tai_luan_van.id as iddetai', 'sinh_vien.ten', 'sinh_vien.ho', 'sinh_vien.mssv', 'sinh_vien.id as idsinhvien')
                ->where('can_bo.id', '=', $id, 'and')
                ->where('hoc_ky_nien_khoa.nien_khoa', '=', $nienkhoa, 'and')
                ->where('hoc_ky_nien_khoa.hoc_ky', '=', $hocky)
                ->get();
        return ($array_dssinhvien);
    }
    public function show_svdk1($id, $nienkhoa, $hocky) 
    {
        $array_dssinhvien = DB::table('de_tai_luan_van')
                ->join('chi_tiet_can_bo_huong_dan', function($join) {
                            $join->on('chi_tiet_can_bo_huong_dan.id_de_tai', '=', 'de_tai_luan_van.id');
                        })
                ->join('can_bo', function($join) {
                            $join->on('can_bo.id', '=', 'chi_tiet_can_bo_huong_dan.id_can_bo');
                        })
                ->join('nhom_dang_ki', function($join) {
                            $join->on('nhom_dang_ki.id_de_tai', '=', 'de_tai_luan_van.id');
                        })
                ->join('sinh_vien', function($join) {
                            $join->on('sinh_vien.id', '=', 'nhom_dang_ki.id_sinh_vien');
                        })
                ->join('hoc_ky_nien_khoa', function($join) {
                            $join->on('hoc_ky_nien_khoa.id', '=', 'de_tai_luan_van.id_hoc_ki_nien_khoa');
                        })
                ->select('de_tai_luan_van.ten_de_tai', 'de_tai_luan_van.id as iddetai', 'sinh_vien.ten', 'sinh_vien.ho', 'sinh_vien.mssv', 'sinh_vien.id as idsinhvien')
                ->where('can_bo.id', '=', $id, 'and')
                ->where('hoc_ky_nien_khoa.nien_khoa', '=', $nienkhoa, 'and')
                ->where('hoc_ky_nien_khoa.hoc_ky', '=', $hocky,'and')
                ->where('chi_tiet_can_bo_huong_dan.stt_vai_tro','=','1')
                ->get();
        return ($array_dssinhvien);
    }
    public function edit($id) {
        return View::make('canboqldetaivasvdks.edit');
    }

	/**
	 * Update the specified resource in storage.
	 *
	 * @param  int  $id
	 * @return Response
	 */
	public function update()
	{   
            $mota=Input::get('txtmota');
            $soluongsv=Input::get('soluong');
            $ten=Input::get('txttendetai');
            $msdt=Input::get('masodt');
		        $trangthai=DB::table('de_tai_luan_van')
                        ->where('ma_so_de_tai',$msdt)
                        ->update(array('ten_de_tai'=>$ten,'mo_ta_de_tai'=>$mota,'so_luong_sv_th'=>$soluongsv))
                        ;
                return Redirect::back()->with('trangthai',$trangthai);
	}
 

    public function destroy($id) {
        DB::table('de_tai_luan_van')
                ->where('ma_so_de_tai', $id)
                ->update(array('trang_thai' => 0));
        return Redirect::back();
    }


<<<<<<< .mine
        /**
	 * Get the specified resource from storage.
	 *
	 * @param  int  $id
	 * @return $array_namhoc
	 */
        public static function getnamhoc(){ 
            $array_namhoc = DB::table('hoc_ky_nien_khoa')
                    ->select('nien_khoa')
                    ->distinct()
                    ->orderBy('nien_khoa','desc')
                    ->get();
            return ($array_namhoc);                 
        }
        /**
         *  Insert De_tai_luan_van
         *  @param 
         */
public function Insert_DeTaiLuanVan(){
            $madetai=Input::get('txtMadt');
            $tendetai=Input::get('txtTendetai');
            $motadetai=Input::get('txtMota');
            $soluongsvth=Input::get('txtSoLuongSv');
            $idbomon=Input::get('idbm');
            $idcbhd=Input::get('idcbhd');
            $motakehoach = "Chưa có kế hoạch";
            $ngaygio = date("Y-m-d h:i:s", time());
     $ketqua=DB::table('de_tai_luan_van')
             ->insert(array('ma_so_de_tai' => $madetai,
                      'ten_de_tai' => $tendetai,
                      'mo_ta_de_tai' => $motadetai,
                      'so_luong_sv_th' => $soluongsvth,
                      'id_hoc_ki_nien_khoa' => HocKyNienKhoa::max('id'),
                      'id_bo_mon' => $idbomon,
                      'trang_thai' => 1)
                     );
              DB::table('chi_tiet_can_bo_huong_dan')
              ->insert(
                 array('id_de_tai' => DeTaiLuanVan::max('id'),
                       'id_can_bo' => $idcbhd,
					'vai_tro' => '1')
                      );
              DB::table('ke_hoach_huong_dan')
              ->insert(
                 array('id_de_tai' => DeTaiLuanVan::max('id'),
                       'mo_ta_ke_hoach' => $motakehoach,
                       'thoi_gian_lap' => $ngaygio)
                      );
 		return Redirect::back()->with('ketqua', $ketqua);
    }
/*
=======
    public function Insert_DeTaiLuanVan() {
        try{
        $madetai = Input::get('txtMadt');
        $tendetai = Input::get('txtTendetai');
        $motadetai = Input::get('txtMota');
        $soluongsvth = Input::get('txtSoLuongSv');
        $idbomon = Session::get('infor.idbm')[0];
        $idcbhd = Session::get('infor.id_nd')[0];
        $idcbhdp = Input::get('canbohdp');
        $ketqua = DB::table('de_tai_luan_van')
                ->insert(
>>>>>>> .r98
*/
                ////
/*
=======
                    'ten_de_tai' => $tendetai,
                    'mo_ta_de_tai' => $motadetai,
                    'so_luong_sv_th' => $soluongsvth,
                    'id_hoc_ki_nien_khoa' => HocKyNienKhoa::max('id'),
                    'id_bo_mon' => $idbomon,
                    'trang_thai' => 1)
        );
        if(is_null($idcbhdp) || $idcbhdp == ""){
        DB::table('chi_tiet_can_bo_huong_dan')
                ->insert(
                        array('id_de_tai' => DeTaiLuanVan::max('id'),
                            'id_can_bo' => $idcbhd,
                        )
        );
        }else{
            
        DB::table('chi_tiet_can_bo_huong_dan')
                ->insert(
                        array('id_de_tai' => DeTaiLuanVan::max('id'),
                            'id_can_bo' => $idcbhd,
                            'stt_vai_tro' => 1
                        )
                        );
         DB::table('chi_tiet_can_bo_huong_dan')
                ->insert(
                        array('id_de_tai' => DeTaiLuanVan::max('id'),
                            'id_can_bo' => $idcbhdp,
                            'stt_vai_tro' => 2
                        )
        );   
        }
        $ketqua = true;
        }catch(Exception $e){
        $ketqua = false;
        }
        return Redirect::back()->with('ketqua', $ketqua);
    }
>>>>>>> .r98
*/
    public static function getMSDeTaiLV(){
    $id_ht = DeTaiLuanVan::max('ma_so_de_tai');
        $id_next = ++$id_ht;
        return $id_next;
    }
    
    public static function getDSCBHD($idbm,$idnd){
        $can_bo = DB::select(DB::raw("call get_ds_can_bo_hdp(".$idbm."," .$idnd. ");"));
        return $can_bo;
    }
     return Redirect::back()->with('ketqua',$ketqua);
        }
}
